یکی از سؤالاتی که معمولاً برای بسیاری از صاحبان گوشی های آندرویدی پیش می آید این است که با عرضه نسخه جدید آندروید برای گوشی شان آیا گوشی خود را به نسخه جدید این سیستم عامل ارتقاء دهند یا با نسخه قبلی کار خود را ادامه دهند.
اخیراً با عرضه نسخه 4.0 سیستم عامل آندروید -- ملقب به ساندویچ بستنی یا Ice Cream Sandwich -- توسط گوگل کمپانی های عرضه کننده گوشی های آندرویدی به تدریج تعدادی از گوشی های مجهز به نسخه 2.3 این سیستم عامل -- ملقب به نان زنجبیلی یا Gingerbread -- را به نسخه 4.0 ارتقاء داده یا در صدد ارتقاء این گوشی ها هستند.
کمپانی سونی نیز از این قاعده مستئنی نیست و به دنبال عرضه ICS برای گوشی های هوشمند اکسپریا خود (و سونی اریکسون که به تملک کامل این کمپانی درآمده) است. این کمپانی در مطلبی که در سایت توسعه دهندگان موبایل خود منتشر نموده با ذکر برخی تفاوت های فنی میان نسخه های 2.3 و 4.0 آندروید کاربران را برای تصمیم گیری در مورد ارتقاء یا عدم ارتقاء راهنمایی نموده است.
تصویر بالا: مقایسه ظاهر واسط کاربر ICS (سمت راست) در مقابل واسط کاربر Gingerbread (سمت چپ)
هرچند ICS جدیدتر از Gingerbread بوده و از بسیاری جهات نسبت به نسخه های قدیمی تر آندروید برتری دارد اما بنا به گفته سونی نسخه Gingerbread عرضه شده برای گوشی های این کمپانی بسیار با ثبات و پایدار بوده و از کارآیی بالایی برخوردار است. بنابراین از دید سونی اگر اولویت مد نظر کاربر با ثبات بودن گوشی است حفظ Gingerbread و عدم ارتقاء به ICS ایده بدی به نظر نمی رسد.
لازم به ذکر است که ICS حافظه بیشتری را مصرف کرده و هرچند قابلیت های بیشتری دارد اما این قابلیت های بیشتر در کنار پیشرفته تر شدن سرویس های موبایل گوگل (GMS) و برنامه های پیشرفته تر سونی نیاز به قدرت پردازنده بالاتر، فعالیت های شبکه ای بیشتر و استفاده گسترده تر از RAM دستگاه خواهد داشت که ممکن است به کاهش ثبات سیستم بیانجامد. از سوی دیگر واسط کاربر بهبود یافته و ویژگی های جدید ICS که در زیر به آن اشاره می شود می تواند انگیزه خوبی برای ارتقاء به این نسخه از آندروید در کاربران ایجاد نماید.
تصویر بالا: مقایسه ظاهر واسط کاربر ICS (سمت راست) در مقابل واسط کاربر Gingerbread (سمت چپ)
ویژگی های جدید ICS
از نقطه نظر واسط کاربر، ICS با بهره گیری از تم Holo از ظاهر و حال و هوای متفاوتی برخوردار است. کمپانی سونی با توجه به آن که اجزاء گرافیکی Holo همانگونه که در مستندات مربوط به سازگاری آندروید ذکر شده نباید تغییر یابد دست به تغییرات زیادی در اجزاء گرافیکی برنامه های خود و لایه پلتفرم زده است تا با تم Holo سازگاری به وجود آید. بدین ترتیب تعداد بسیار زیادی آیکون تغییر یافته. همچنین وال پیپرها و تصاویر پس زمینه برنامه ها تغییر یافته تا هماهنگی بیشتری با ساختار گرافیکی مسطح تر ICS ایجاد شود.
در ICS مدیر فعالیت (Activity Manager) از واسط کاربر کاملاً جدیدی بهره می برد که در آن برنامه های در حال اجرا به صورت تصاویر کوچک در یک فهرست نمایش داده می شود. برای خاتمه دادن به یک برنامه کافیست آن را از لیست به بیرون بکشید. ICS همچنین به برنامه ای برای تشخیص چهره -- به نام Face Unlock -- مجهز است که به کمک آن می توان گوشی را از وضعیت قفل خارج نمود. این برنامه از دوربین جلوی گوشی و الگوریتم های پیشرفته تشخیص اشیاء و تشخیص چهره استفاده می کند. سونی نیز این برنامه را در به روز رسانی های مربوط به گوشی های این کمپانی که به دوربین جلویی مجهزند لحاظ نموده است.
فهرست تماس (Contact List) نیز اطلاعات بیشتری از تماس ها -- منجمله آپدیت های دریافتی از شبکه های اجتماعی -- را نشان می دهد. همچنین امکان کدگذاری با رنگ و تغییر بزرگنمایی به تقویم اضافه شده است. پشتیبانی از نوع جدیدی از پیام های صوتی که شهودی تر بوده و رونوشتی از پیام های صوتی را به کاربر نشان می دهد به سیستم اضافه شده است.
ICS به روز رسانی عمده ای برای آندروید محسوب شده و در مقایسه با Gingerbread تغییرات بسیاری در آن ایجاد شده است. برخی از این تغییرات -- به عنوان مثال استفاده بیشتر از توان پردازنده و RAM -- بر روی کارآیی و ثبات سیستم اثرگذارند. ICS با در نظر داشتن گوشی Galaxy Nexus که به پلتفرم TI با پردازنده دو هسته ای و 1 گیگابایت RAM مجهز است طراحی شده. اینک سونی در حال سازگار ساختن ICS برای اجرا بر روی گوشی های هوشمند اکسپریا سال 2011 خود -- که بر اساس پلتفرم کوالکام با پردازنده تک هسته ای و 512 مگابایت RAM ساخته شده اند -- است. این بدان معناست که در برخی موارد استفاده از منابع سیستم در ICS کارآیی سیستم را تحت تأثیر قرار داده و تجربه کاربری سیستم سازگار شده با ICS ممکن است به خوبی تجربه کاربری سیستم اصلی مجهز Gingerbread نباشد. در زیر برخی موارد اصلی که در آن تفاوت عمده ای میان ICS و Gingerbread وجود دارد مطرح شده است:
استفاده بیشتر از RAM
در کل می توان گفت RAM به حافظه کاری گوشی اطلاق می شود که توسط پروسس های در حال اجرا مورد استفاده قرار می گیرد؛ درست برخلاف حافظه فلش که عمدتاً برای ذخیره سازی موارد گوناگون از آن استفاده می شود. البته این توصیفی ساده شده از حافظه ها است و ممکن است در برخی از موارد توصیف کاملاً صحیحی نباشد. اما در هر حال می تواند کمکی برای فهمیدن تفاوت میان RAM و حافظه فلش در گوشی باشد.
حال ببینیم RAM در سری گوشی های اکسپریا سال 2011 چگونه مورد استفاده قرار می گیرد. برای مشاهده میزان RAM مورد استفاده در در این گوشی ها باید به بخش Applications در برنامه Settings مراجعه نمائیم. همانگونه که پیشتر گفته شد این گوشی ها به 512 مگابایت RAM مجهزند در حالی که ICS با در نظر گرفتن گوشی های مجهز به 1 گیگابایت RAM توسعه یافته است. نزدیک به یک سوم از 512 مگابایت RAM موجود در گوشی های اکسپریا سال 2011 برای توابعی مورد استفاده قرار می گیرد که برای عملکرد سریع به یک اسلات حافظه اختصاصی نیاز دارند. به عنوان مثال برخی توابع مربوط به عملیات چند رسانه ای از این دسته اند. فضای باقی مانده -- همانگونه که در مستندات مربوط به سازگاری آندروید الزام شده -- حداقل 340 مگابایت است و برای فضای کاربر لینوکس رزرو شده است. روال هایی مانند مدیر فعالیت (Activity Manager) و برنامه صفحه خانگی در فضای کاربر لینوکس اجرا می شوند.
یک نکته جالب این است که بسیاری از برنامه ها در ICS از RAM بیشتری (نسبت به برنامه مشابه در Gingerbread) استفاده می کنند. به عنوان مثال مرورگر وب ICS از این دسته است و اندازه گیری های انجام شده توسط سونی نشان می دهد که این برنامه بر روی ICS از 20 تا 30 مگابایت RAM بیشتری نسبت به مرورگر وب Gingerbread استفاده می کند. در کل تغییرات زیادی در ICS وجود دارد که روی هم رفته RAM بیشتری را طلب می کند.
تصویر بالا: نمایش استفاده از RAM
هنگامی که RAM آزاد در سطح پائینی قرار دارد (معمولاً زمانی که کمتر از حدود 40 مگابایت از آن باقی مانده) Activity Manager شروع به بستن پروسس ها بر اساس اولویت های آنها می کند. در ابتدا فعالیت هایی که در پس زمینه اجرا می شوند خاتمه می یابند. در نهایت نیز فعالیت های پیش زمینه بسته می شوند. این روند به طور خلاصه در جدول زیر تشریح شده است. برای اطلاعات بیشتر به مستندات توسعه دهنگان اندروید مراجعه نمائید. (دقت نمائید که آنچه در مورد استفاده از RAM ذکر می شود تقریبی بوده و بر اساس نوع گوشی و شرایط استفاده متفاوت خواهد بود.)
جدول بالا: انواع گوناگون پروسس ها. هنگامی که RAM با کمبود مواجه می شود Activity Manager آغاز به کار کرده و به ترتیب از پائین به بالا پروسس های گوناگون را خاتمه می دهد. بنابراین آخرین چیزهایی که بسته می شوند فعالیت های پیش زمینه (Foreground) و ماندگار (Persistent) خواهد بود
بدیهیست پروسس هایی که بدین ترتیب خاتمه می یابند باید هنگام ورود مجدد کاربر به برنامه مربوطه دوباره آغاز گردند و این باعث کند شدن سیستم می شود. به عنوان مثال هنگامی که یک بازی سنگین را که تمامی RAM موجود را مورد استفاده قرار می دهد اجرا می کنید Activity Manager به ناچار تمامی پروسس های اجرا شده در پس زمینه را خاتمه می دهد. این خاتمه دادن می تواند شامل توابع حیاتی سیستم نظیر شماره گیر و حتی برنامه صفحه خانگی شود. با خارج شدن از بازی احتمال کند شدن سیستم وجود دارد، چرا که برنامه صفحه خانگی باید دوباره اجرا شود. همین طور کارهای دیگری که پس از آن انجام می دهید نیز ممکن است با کندی مواجه گردد.
تعامل کندتر با بانک اطلاعاتی SQL
تغییر دیگری که در ICS در مقایسه با Gingerbread رخ داده این است که گوگل بخش زیادی از کار با SQL را از کد های بومی (که سریع اجرا می شوند) به لایه جاوا (که کندتر است) انتقال داده. سونی در بررسی های داخلی خود مشاهده نموده که انجام عملیات خواندن و نوشتن بر روی بانک اطلاعاتی SQL زمانبر تر شده که این امر منجر به کند شدن برنامه ها می شود. بسیاری از برنامه ها هنگام شروع، عملیات SQL زیادی را انجام می دهند که تأثیر زیادی بر روی زمان مورد نیاز برای آغاز شدن آنها خواهد داشت.
هرچند توصیه شده است که عملیات مرتبط با بانک اطلاعاتی و درخواست های http نباید در thread اصلی برنامه اجرا شود اما برخی برنامه ها وجود دارند که خلاف این توصیه ها عمل کرده و عملیات یاد شده را در thread اصلی انجام می دهند که ممکن است باعث وقفه در عملیات دیگر گردد. سونی هنگام خواندن بازخوردهای کاربران در مورد نرم افزارهای ICS موجود در بازار نظراتی را مشاهده نموده که حکایت از مشکلات کاربران با برخی برنامه ها و بازی ها داشته است.
اگر عملیات بیش از حد به طول انجامد احتمال دریافت پیام "برنامه پاسخگو نیست - Application Not Responding یا ANR" وجود دارد. ANR زمانی رخ می دهد که برنامه در بازه زمانی مشخص به یک intent پاسخ نداده و یا در مقابل یک رخداد ورودی از خود واکنش نشان نمی دهد. در مورد intent، زمان یاد شده بر روی 5 ثانیه تنظیم شده است. برای رخدادهای ورودی نظیر لمس صفحه نمایش یا فشردن یک کلید این زمان 10 ثانیه است.
طولانی تر شدن زمان پاسخگویی و افزایش تعداد پیام های ANR دریافتی می تواند منجر به احساس کندی و کم ثباتی سیستم شود.
معرفی شتاب دهی سخت افزاری کامل
تغییر دیگری که در ICS صورت گرفته این است که شتاب دهی سخت افزاری گرافیکی به صورت پیش فرض برای تمامی برنامه ها فعال است (از نظر فنی از API سطح 14 به بعد. برای برنامه هایی که از API پائینتر از سطح 14 استفاده می کنند امکان فعال سازی پیش فرض شتاب دهی سخت افزاری گرافیکی با اضافه نمودن android:hardwareAccelerated=true به manifest برنامه وجود دارد) شتاب دهی سخت افزاری به این معنی است که از واحد پردازش گرافیکی (GPU) برای رندر نمودن اجزاء گرافیکی استفاده شود که در نتیجه واسط کاربر نرم و همواری ایجاد خواهد شد. اما این امر برای برخی از برنامه ها نیاز به بارگذاری کتابخانه های گرافیکی اضافه ای دارد که خود باعث می شود که این برنامه ها از RAM بیشتری استفاده کنند.
سونی با انجام آزمون های داخلی بر روی برنامه های خود مشاهده نموده که برنامه Settings یک تا دو مگابایت RAM بیشتری مصرف می نماید و با فعال بودن شتاب دهی سخت افزاری زمان بیشتری برای آغاز برنامه (نسبت به وضعیت بدون شتاب دهی سخت افزاری) مورد نیاز خواهد بود. در زمان اجرای برنامه نیز واسط کاربری آن از شتاب دهی سخت افزاری استفاده خواهد نمود، اما اگر برنامه از عملیات گرافیکی پیشرفته استفاده نکند کاربر متوجه تفاوتی نخواهد شد.
تأثیر دیگر شتاب دهی سخت افزاری مصرف سریعتر باتری در برخی موارد است. به عنوان مثال هنگام پخش ویدیو شتاب دهی سخت افزاری نیاز به عبور تک تک فریم ها از GPU خواهد داشت و بنابراین باعث مصرف توان بیشتری (نسبت به وضعیت عدم استفاده از شتاب دهی سخت افزاری) توسط سیستم می گردد.
سونی به برنامه نویسان توصیه نموده که استفاده یا عدم استفاده از شتاب دهی سخت افزاری را برای برنامه هایی که توسعه می دهند مورد ارزیابی قرار دهند، چرا که به قیمت استفاده بیشتر از RAM و افزایش زمان آغاز شدن برنامه تمام خواهد شد و حتی در مواردی کاهش دوام باتری را -- که می تواند تأثیر منفی بر روی کاربران داشته باشد -- به دنبال خواهد داشت. برای اطلاعات بیشتر در مورد شتاب دهی سخت افزاری در ICS می توانید به وبلاگ توسعه دهندگان اندورید مراجعه نمائید.
تصمیم گیری نهایی با شماست
پلتفرم منتخب شما کدام است؟ آیا تمایل به استفاده از ویژگی های جدید ICS دارید و یا اولویت شما ثبات سیستم است و بر روی پلتفرم Gingerbread باقی خواهید ماند؟ امیدواریم این مطلب برخی جنبه ها را که باید هنگام تصمیم گیری مد نظر قرار دهید برایتان روشن نموده باشد.
نظرات شما عزیزان:
نوشته شده توسط پیمان | لینک ثابت
| موضوع:
<-PostCategory-> |
|